#ifndef CMD_PARSER__PARAMETER_H
#define CMD_PARSER__PARAMETER_H

#include <string>

namespace czj {
namespace util {

class Parameter {
public:
	enum Type {
		BOOL,
		VARIABLE,
		LIST,
		OPERAND,
		EXTENSION
	};
private:
	const std::string describe_;
protected:
	Parameter(const char *_describe);
public:
	virtual ~Parameter();
public:
	virtual Type getType() const = 0;
	const std::string &getDescribe() const;
};

} // util
} // czj

#endif // CMD_PARSER__PARAMETER_H
